// 创建登录的模块,并且创建登录的控制器
var loginApp = angular.module('loginApp', []);
loginApp.controller('loginController', function ($scope, $http) {
    //数据
    $scope.formData = {};
    $scope.postForm = function () {
        $scope.formData.action = 'login';
        $http({
            method: 'POST',
            url: 'get.php',
            data: $.param($scope.formData),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).success(function (data) {
            console.log(data);
            if (!data.success) {
                //当前登录失败
                if (!data.errors) {
                    //用户名密码错误
                    $scope.message = data.message;
                } else {
                    //用户名,密码为空的错误
                    $scope.errorUsername = data.errors.username;
                    $scope.errorPassword = data.errors.password;
                }
            } else {
                //当前登录成功
                //$scope.message = data.message;
                window.location.href = '#/list/0';
            }
        })
    }
})

var pageList = angular.module('pageList', [])
pageList.controller('listTypeCtrl', function ($scope, $http) {
    $http({
        method: 'GET',
        url: 'get.php?action=get_arctype&where=reid=0'

    }).success(function (data) {
        console.log(data)
        $scope.lists = data;
    }).error(function (error) {
        console.log(error)
    })
})
//文章列表的控制器
totals = 0;
pageList.controller('arcListCtrl', function ($scope, $http, $location) {
    $scope.typeid = $location.path().replace('/list/', '');
    //console.log($scope.typeid)
    if ($scope.typeid == 0) {
        //获取所有文章的数量
        var get_total_url = 'get.php?action=get_total';
    } else {
        //获取某一个分类的文章数量
        get_total_url = 'get.php?action=get_total&where=typeid=' + $scope.typeid;
    }
    //发送请求
    //获取所有的对应分类的文章数量
    $http({
        method: 'GET',
        url: get_total_url,
    }).success(function (data) {
        $scope.paginationConf.totalItems = data.total;
    }).error(function (error) {
        console.log(error);
    })
    //设置分页的对象
    $scope.paginationConf = {
        //当前的页数
        currentPage: 1,
        //每页多少条
        itemsPerPage: 5,
        //totalItems 是文章总数量
        pagesLength: 5,
        //可以自动更换的每页多少条
        perPageOptions: [10, 20, 30, 40, 50],
        rememberPerPage: 'perPageItems',
        onChange: function () {
            //先判断县当前页是不是第一页,或渠道查询的起始位置
            if ($scope.paginationConf.currentPage == 1) {
                //当前是第一页
                $scope.limit = 0
            } else {
                //(当前页数 -1) * 每页多少条
                $scope.limit = $scope.paginationConf.currentPage * $scope.paginationConf.itemsPerPage - $scope.paginationConf.itemsPerPage;

            }
            if ($scope.typeid == 0) {
                $geturl = 'get.php?action=get_list&offset=' + $scope.limit + '&rows=' + $scope.paginationConf.itemsPerPage + '&orderField=id&orderBy=DESC';
            } else {
                $geturl = 'get.php?action=get_list&offset=' + $scope.limit + '&rows=' + $scope.paginationConf.itemsPerPage + '&where=typeid=' + $scope.typeid + '&orderField=id&orderBy=DESC';
            }
            //最后发送请求
            //offset:当前查询的偏移量
            //rows:当前查询多少条
            //typeid:查询那个分类
            //orderFiled:根据那个字段进行排序
            //orderBy:排序规则
            $http({
                method: 'GET',
                url: $geturl,
            }).success(function (data) {
                $scope.lists = data;
                console.log(data)
            }).error(function (error) {
                console.log(error)
            })
        }
    }
    //删除模块
    $scope.del = function (index, id) {
        $http({
            metdod: 'GET',
            url: 'get.php?action=delete_article&index=' + index + '&id=' + id,
        }).success(function (data) {
            if (data.code == 101) {
                //删除成功
                //console.log('删除成功');
                $scope.meg_success = "删除成功!";
                $scope.meg_error = "";
                // setTimeout(function(){location.href='#/list/0'}, 1000);
                //重新发送ajax请求 页面
                $http({
                    method: 'GET',
                    url: $geturl,
                }).success(function (data) {
                    $scope.lists = data;
                }).error(function (err) {
                })
                $http({
                    method: 'GET',
                    url: $get_total_url
                }).success(function (data) {
                    $scope.paginationConf.totalItems = data.total;
                }).error(function (err) {
                    console.log(err);
                })

            } else {
                //添加失败
                //console.log('删除失败');
                $scope.meg_error = "删除失败";
            }
        })
    }

})

//新增文章
var addCont = angular.module('addCont', []);
addCont.controller('addContCtrl', function ($scope, $http) {
    //获取分类的列表
    $http({
        method: 'GET',
        url: 'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    })
    //执行写入数据的操作
    $scope.formData = {};
    $scope.formData.action = 'add_article';
    $scope.postForm = function () {
        $http({
            method: 'POST',
            url: 'get.php',
            data: $.param($scope.formData),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).success(function (data) {
            $scope.errorBye = function () {
                $('#errorbox').fadeOut();
            }
            $scope.errorShow = function () {
                $('#errorbox').fadeIn();
            }
            if (!data.errors) {
                $scope.meg_success = '插入成功！正在返回列表页面..';
                $scope.meg_error = '';
                setTimeout(function () {
                    location.href = '#/list/0'
                }, 1000);
            } else {
                //添加失败
                $scope.meg_success = '';
                var get_error = '';
                if (data.errors.hasOwnProperty('title')) {
                    get_error = data.errors.title;
                }
                if (data.errors.hasOwnProperty('content')) {
                    get_error = get_error + (get_error ? "&" : "") + data.errors.content;
                }
                if (data.errors.hasOwnProperty('typeid')) {
                    get_error = get_error + (get_error ? "&" : "") + data.errors.typeid;
                }
                $scope.meg_error = get_error;

            }
        })
    }
})


//修改模块
var modifyCont = angular.module('modifyCont', []);
modifyCont.controller('modifyContCtrl', function ($scope, $http, $stateParams) {
    //获取所有的分类
    $http({
        method: 'GET',
        url: 'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        $scope.types = data;
    }).error(function (err) {
        console.log(err)
    })
    //修改数据
    //当前路由中的参数Id
    console.log($stateParams)
    $http({
        method: 'GET',
        url: 'get.php?action=get_article&id=' + $stateParams.Id
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err)
    })
    //postFrom操作 更新数据
    $scope.formData = {};
    $scope.postForm = function () {
        $scope.formData.action = 'update_article';
        $scope.formData.id = $stateParams.Id;
        $scope.formData.title = form.title.value;
        $scope.formData.content = form.content.value;
        $scope.formData.typeid = $("#typeid option:selected").val();

        $http({
            method: 'POST',
            url: 'get.php',
            data: $.param($scope.formData),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).success(function (data) {
            if (data.code == 101) {
                $scope.meg_success = "修改成功! 正在返回列表页...";
                $scope.meg_error = "";
                setTimeout(function () {
                    location.href = '#/list/0'
                }, 1000);
            } else {
                var get_errors = '';
                $scope.meg_success = '';
                $scope.errorBye = function () {
                    $('#errorbox').fadeOut();
                }
                $scope.errorShow = function () {
                    $('#errorbox').fadeIn();
                };
                if (data.errors) {
                    if (data.errors.hasOwnProperty('title')) {
                        get_errors = data.errors.title;
                    }
                    if (data.errors.hasOwnProperty('content')) {
                        get_errors = get_errors + (get_errors ? "&" : "") + data.errors.content;
                    }
                    $scope.meg_error = get_errors;
                } else {
                    $scope.meg_error = '修改失败!无改动...'
                }
            }
        });
    }

})
//详情
var showCont = angular.module("showCont", []);
showCont.controller('showContCtrl', function ($scope, $http, $stateParams) {
    $http({
        method: 'GET',
        url: 'get.php?action=get_article&id=' + $stateParams.Id,

    }).success(function (data) {
        $scope.lists = data;
    }).error(function (error) {
        console.log(error)
    })
})
